The present invention relates generally to hardwired or wireless communication systems; and, more particularly, to a system and method for correctly receiving and decoding transmissions in noisy digital communication environments.
Generally, communication channels are limited in transmitter power and spectrum availability. This restricts the amount of information, which may be transmitted over a particular communications environment. High speed data communication services, regardless of various impediments (white gaussian noise or impulsive noise) must fit within the limited bandwidth of spectrum availability provided by the physical medium, or the available frequency spectrum band.
Representative services utilizing wireless networks include telephony, videotelephony, and high-speed data transmission. These services have varying and distinguishable transmission needs which include being in high demand for access, being delay critical, requiring high bandwidth, and/or being intolerant of errors. These different services also have different encoding requirements, different transmission error requirements and different delay requirements. The trade-offs of these different requirements, when the services are integrated into a single cohesive whole, lead to limitations of the network to transmit and receive a large amount of information quickly, correctly and simultaneously.
Further, radio communications are limited in transmitter power and spectrum availability. This also restricts the amount of information which may be transmitted over an air interface. Broadband communication services must fit within the limited narrowband spectrum on an air interface network. Additionally, radio transmission is significantly more error prone than broadband hard-wired networks. This tends to further reduce capacity due to the necessity to transmit and process error control protocols.
It is therefore a goal of digital communications design to maximize the transmission bit rate R and minimize the probability of bit error, or Bit Error Ratio (BER) and required system power S. The minimum bandwidth (BW) required to transmit at rate (R) was given in Nyquist, H., xe2x80x9cCertain Topics on Telegraph Transmission Theory,xe2x80x9d Trans. Am. Inst. Electr. Eng., Vol. 47, April 1928, p. 617-644, as Rs/2 where Rs is the symbol rate.
A limit on the transmission rate, called the system capacity, is based on the channel BW and the signal to noise ratio (SNR). This limit theorem, also called the Shannon Noisy Channel Coding Theorem, is set forth in Shannon, C. E., xe2x80x9cA Mathematical Theory of Communication,xe2x80x9d Bell Syst. Tech. J., Vol. 27, 1948, pp.379-423, 623-657, and states that every channel has a channel capacity C which is given by the formula, C=BW log2(1+SNR), and that for any rate R less than C, there exist codes of rate Rc which can have an arbitrary small decoding BER.
Turbo Codes
For some time, the digital communications art has sought a coding/decoding algorithm which would reach the Shannon limit. Recently, coding/decoding schemes, called xe2x80x9cTurbo Codes,xe2x80x9d have been determined to achieve reliable data communication at an SNR which is very close to the Shannon Limit. (Claude Berrou, Alain Glavieux, and Punya Thitimajshima, xe2x80x9cNear Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codesxe2x80x9d, in Proceedings of ICC""93, Geneve, Switzerland, May 1993, pp. 1064-1070). In fact, Telecommunications Industry Association committee TR45.5 developing IS-95 third generation standards have adopted xe2x80x9cTurbo Codingxe2x80x9d as the algorithm to be used for data transmission rates higher than 14.4 Kbps.
Generally, there are two known transmission system schemes which implement Turbo Coding. These schemes are known as Parallel Concatenated Coding (PCC) and Serial Concatenated Coding (SCC).
A known implementation of PCC is shown in FIG. 1. As shown in FIG. 1, data is input to the encoder 10 at input 11. The data is then processed by a first recursive systematic convolutional coder (RSCC) 12 to provide multiple encoder outputs 13. Each of the set of first encoder outputs 13 provides redundant information representative of the data.
The parallel encoder 10 also sends the data to a second RSCC 14 through interleaver 15. Interleaver 15 reshuffles the bits of information at input 11 according to a predetermined shuffling sequence and then sends them to second RSCC 14. By reshuffling the data bits, the second set of outputs 16 from second RSCC 14 are in a different configuration than at the outputs 13.
In PCC, the various outputs 13, 16 of the first and second RSCC are also xe2x80x9cpuncturedxe2x80x9d or taken from the remainder of the outputs 13, 16 and selected for transmission. Puncturing outputs is acceptable for transmission purposes because of the redundancy of information which is created within the encoder 10. Since the signal is being redundantly transmitted from the several outputs 13, 16, eliminating some of the parts of the outputs does not degrade signal performance. After the puncturing of the output, encoder 10 has the same rate as a ⅓ rate convolutional encoder. Therefore, there is no additional bandwidth increase.
Another form of Turbo Coding known in the art is Serial Concatenated Coding (SCC). FIG. 2 shows an illustrated depiction of the architecture used for SCC. As shown in FIG. 2, there is a serial cascade of an outer encoder 31, an interleaver 32 and an inner encoder 33. The signal to be coded and transmitted is input into the outer encoder 31. The output of outer encoder 31 is then fed to interleaver 32 where the signal is shuffled in a predetermined manner. The output of interleaver 32 is then sent to the inner encoder 33 for transmission. Most commonly in the art, both the inner and outer encoders use convolutional codes.
There are a few decoding algorithms known in the art which can be used to decode Turbo codes. By way of example only, an iterative decoding algorithm which may be used to decode SCC is described below.
The basic idea of an iterative Turbo decoding algorithm for SCC transmissions is shown in FIG. 3. As shown in FIG. 3, fresh information is generated and fed back to inner decoder 34 or outer decoder 36 in every iteration to update the previous estimates of the intended signals. Iteration stops when the detected coding gain diminishes below a certain threshold, i.e., when all the information is substantially used. In practice, the number of iterations typically varies from about 5 to 12.
In operation, the first iteration produces the conventional non-iterative estimates in the system of FIG. 3. During the first iteration of the system shown in FIG. 3, soft outputs So, consisting of the likelihood (or probability) of the information and code symbols, are fed from a demodulator (not shown) into an Inner Soft-Input Soft-Output (SISO) decoder block 34. Inner SISO block 34 operates upon logarithmic likelihood ratios as inputs and outputs. The second input I2 of SISO block 34 is held at zero during-this first iteration. The Inner SISO output O1 is fed into a de-interleaver 35 and then into inputs I2xe2x80x2 of an outer SISO decoder block 36.
During the following iterations, the outer SISO block 36 output O2 is fed back through interleaver 37 to the second input I2 of Inner SISO decoder block 34 until the outer SISO 36 sends the decoded decision output signal along output path O2. Refreshed information is generated and fed back to inner decoder 34 or outer decoder 36 in each iteration through blocks 38, 39 to update the previous estimates of the intended signals.
Trellis Coded Modulation
An important issue in digital communications is the bandwidth BW limitation. It is well known that coding alone provides an effective way to trade off between performance in terms of bit error ratio (BER) and bandwidth BW. If it is not possible to trade off bandwidth BW (i.e., bandwidth BW constrained channels such as the wireless air interface) then a combined coding and modulation scheme may be used to provide a bandwidth BW efficient coding and transmission scheme. One such scheme is Trellis Coded Modulation (TCM), and is discussed in G. Ungerboeck, xe2x80x9cChannel coding with multilevel/phase signals,xe2x80x9d IEEE Trans. Inform. Theory, Vol. IT-28, pp.55-67, January 1982.
Trellis Coded Modulation TCM systems generally increase bandwidth BW efficiency and are especially useful in applications which have limited bandwidth BW availability. The basic idea of Trellis Coded Modulation TCM is to map the coded bits onto signal points in an expanded (having more signal points than needed for uncoded transmission) signal set such that the minimum free Euclidean distance between allowable code sequences is maximized. Resulting coding gains are achieved without bandwidth BW expansion.
The typical system architecture for a Trellis Coded Modulation transmitter and receiver is shown in FIG. 4. As shown in FIG. 4, a Trellis Coded Modulation transmitter 50 uses an outer convolutional or block code encoder 51 to encode an input signal S1. The output of the block code encoder 51 is then fed into an interleaver 52 which then feeds into an inner Trellis Code Encoder 53. The output signal S2 is then transmitted over transmission channel 54 to receiver 55 for decoding and processing.
In order to decode the Trellis Coded Modulation signal S2, the signal S2 is separately Trellis Code demodulated and convolutionally or block decoded. The signal S2 is first Trellis decoded by inner Trellis code decoder 56. The Trellis decoded signal is then sent through a reverse interleaver 57 and then decoded by outer cyclic/convolutional decoder 58 to provide output signal S3. The output signal S3 corresponds generally to the input signal S1. The Trellis Coded Modulation Transmitter/Receiver system shown in FIG. 4 is especially useful in cases when both (i) burst/random errors need to be detected/corrected and (ii) coding gains need to be achieved without bandwidth expansion. The outer encoder is convolutional for some other applications and a block coder for other applications. In any case, the traditional decoding algorithm for such systems performs demodulation of Trellis-coded signals and channel decoding separately.
The use of the type of separate decoding exemplified in FIG. 4, however, leads to decreased receiver performance and coding gains.
Briefly, the present invention implements an iterative decoding system within a Trellis Coded Modulation communications environment. The improved Trellis-coded modulation transmitter and receiver system provides an improved telecommunications system capable of effectively carrying narrowband services while providing the flexibility to carry higher bandwidth services over the narrowband channel.
The present invention recognizes that the system architecture on the transmitter side of Trellis Coded Modulation communications systems can be likened to those of Serially Concatenated Convolutional Coding (SCCC) systems. Following that recognition, the present invention applies interative Turbo decoding to Trellis Coded Modulation signals.
The present invention uses an interative process to accelerate signal decoding and increase receiver performance in a Trellis Coded Modulation environment. In the present invention, the resulting coding gain is substantially greater and the decoding performance is substantially improved with a decrease in BER as compared with a conventional non-iterative approach. Performance similar to SCC Turbo codes is expected.
In a disclosed embodiment of the present invention, the transmitter uses a channel encoder (consisting of either a convolutional encoder or a block encoder) as the outer encoder. The signal to be transmitted is first input into the outer encoder. The channel encoded signal is then passed through an interleaver and fed into a Trellis Coded Modulation encoder which acts as the inner encoder. The encoded signal may then be transmitted over the channel.
On the decoding side, the disclosed embodiment of the present invention advantageously applies iterative decoding to decode the received Trellis Coded Modulated signals. The iterative decoder that is used within the receiver may be similar to the decoder that is applied to Serially Concatenated Coding systems.
The system of the present invention is particularly applicable to data communications applications. The system provides recognizable increases in receiver performance and coding gain, and is capable of effectively carrying narrowband services while providing the flexibility to carry higher bandwidth services over the narrowband channel. In particular, a telecommunications system according to the present invention effectively addresses the differing transmission and spectrum needs of multiple services (such as telephony, videotelephony, and high-speed data transmission), including being delay critical, requiring high bandwidth, and being intolerant of errors.